<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Find approx percentiles in lookup table that is in memory — pctile_from_raw_lookup • EJAM</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/font-awesome-6.4.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.4.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="Find approx percentiles in lookup table that is in memory — pctile_from_raw_lookup"><meta name="description" content="This is used with a lookup table to
convert a raw indicator vector to percentiles in US or States."><meta property="og:description" content="This is used with a lookup table to
convert a raw indicator vector to percentiles in US or States."><meta property="og:image" content="https://usepa.github.io/EJAM/logo.svg"></head><body>
    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>


    <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="light" aria-label="Site navigation"><div class="container">

    <a class="navbar-brand me-2" href="../index.html">EJAM</a>

    <small class="nav-text text-warning me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Released version">2.32.0</small>


    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div id="navbar" class="collapse navbar-collapse ms-3">
      <ul class="navbar-nav me-auto"><li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
  <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
  <ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><hr class="dropdown-divider"></li>
    <li><h6 class="dropdown-header" data-toc-skip>Overview for EJAM Users</h6></li>
    <li><a class="dropdown-item" href="../articles/0_whatis.html">What is EJAM</a></li>
    <li><a class="dropdown-item" href="../articles/0_webapp.html">Using EJAM</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><h6 class="dropdown-header" data-toc-skip>For analysts using R</h6></li>
    <li><a class="dropdown-item" href="../articles/1_installing.html">Installing the EJAM R package</a></li>
    <li><a class="dropdown-item" href="../articles/2_quickstart.html">Quick Start Guide</a></li>
    <li><a class="dropdown-item" href="../articles/3_analyzing.html">Basics of Using EJAM for Analysis in RStudio</a></li>
    <li><a class="dropdown-item" href="../articles/4_advanced.html">Advanced Features</a></li>
  </ul></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
      </ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
 <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/USEPA/EJAM/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
      </ul></div>


  </div>
</nav><div class="container template-reference-topic">
<div class="row">
  <main id="main" class="col-md-9"><div class="page-header">
      <img src="../logo.svg" class="logo" alt=""><h1>Find approx percentiles in lookup table that is in memory</h1>
      <small class="dont-index">Source: <a href="https://github.com/USEPA/EJAM/blob/HEAD/R/pctile_from_raw_lookup.R" class="external-link"><code>R/pctile_from_raw_lookup.R</code></a></small>
      <div class="d-none name"><code>pctile_from_raw_lookup.Rd</code></div>
    </div>

    <div class="ref-description section level2">
    <p>This is used with a lookup table to
convert a raw indicator vector to percentiles in US or States.</p>
    </div>

    <div class="section level2">
    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">pctile_from_raw_lookup</span><span class="op">(</span></span>
<span>  <span class="va">myvector</span>,</span>
<span>  <span class="va">varname.in.lookup.table</span>,</span>
<span>  lookup <span class="op">=</span> <span class="va">usastats</span>,</span>
<span>  zone <span class="op">=</span> <span class="st">"USA"</span>,</span>
<span>  quiet <span class="op">=</span> <span class="cn">TRUE</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div class="section level2">
    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>


<dl><dt id="arg-myvector">myvector<a class="anchor" aria-label="anchor" href="#arg-myvector"></a></dt>
<dd><p>Numeric vector, required. Values to look for in the lookup table.</p></dd>


<dt id="arg-varname-in-lookup-table">varname.in.lookup.table<a class="anchor" aria-label="anchor" href="#arg-varname-in-lookup-table"></a></dt>
<dd><p>Character element, required.
Name of column in lookup table to look in
to find interval where a given element of myvector values is.</p>
<p>*** If vector is provided, then must be same length as myvector,</p>
<p>but only 1 value for zone can be provided.</p></dd>


<dt id="arg-lookup">lookup<a class="anchor" aria-label="anchor" href="#arg-lookup"></a></dt>
<dd><p>Either lookup must be provided, not quoted,
or a lookup table called <a href="usastats.html">usastats</a> must already be in memory. This is the lookup table
data.frame with a PCTILE column, REGION column, and column whose name is the value of varname.in.lookup.table
To use state lookups set lookup=statestats</p></dd>


<dt id="arg-zone">zone<a class="anchor" aria-label="anchor" href="#arg-zone"></a></dt>
<dd><p>Character element (or vector as long as myvector), optional.
If specified, must appear in a column called REGION within the lookup table,
or NA returned for each item looked up and warning given.
For example, it could be "NY" for New York State, "USA" for national percentiles.</p></dd>


<dt id="arg-quiet">quiet<a class="anchor" aria-label="anchor" href="#arg-quiet"></a></dt>
<dd><p>set to FALSE to see details on where certain scores were all NA values like in 1 state</p></dd>

</dl></div>
    <div class="section level2">
    <h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
    <p>By default, returns numeric vector length of myvector.</p>
    </div>
    <div class="section level2">
    <h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
    <p>This could be recoded to be more efficient - could use data.table.</p>
<p>The data.frame lookup table must have a field called "PCTILE" that has quantiles/percentiles
and other column(s) with values that fall at those percentiles.
<a href="usastats.html">usastats</a> and <a href="statestats.html">statestats</a> are such lookup tables.
This function uses a lookup table and
finds the number in the PCTILE column that corresponds to where a specified value
(in myvector) appears in the column called varname.in.lookup.table.
The function just looks for where the specified value fits between values in the lookup table
and returns the approximate percentile as found in the PCTILE column.
If the value is between the cutpoints listed as
percentiles 89 and 90, it returns 89, for example.
If the value is exactly equal to the cutpoint listed as percentile 90,
it returns percentile 90.
If the value is exactly the same as the minimum in the lookup table and multiple percentiles
in that lookup are listed as tied for having the same threshold value defining the percentile
(i.e., a large percent of places have the same score and it is the minimum score),
then the percentile gets reported as 0,
not the percent of places tied for that minimum score. Note this is true whether they are
tied at a value of 0 or are tied at some other minimum value than 0.
If the value is less than the cutpoint listed as percentile 0,
which should be the minimum value in the dataset,
it still returns 0 as the percentile, but with a warning that
the value checked was less than the minimum in the dataset.</p>
<p>It also handles other odd cases, like where a large percent of all raw scores are tied at
the minimum value, in which case it reports 0 as percentile, not that large percent.</p>
    </div>

    <div class="section level2">
    <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span> <span class="co"># \dontrun{</span></span>
<span></span>
<span><span class="va">eg</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/dput.html" class="external-link">dput</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/Round.html" class="external-link">round</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/vector.html" class="external-link">as.vector</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/unlist.html" class="external-link">unlist</a></span><span class="op">(</span><span class="va">testoutput_ejamit_10pts_1miles</span><span class="op">$</span><span class="va">results_overall</span><span class="op">[</span> , <span class="va">..names_d</span><span class="op">]</span> <span class="op">)</span><span class="op">)</span>,<span class="fl">3</span><span class="op">)</span><span class="op">)</span></span>
<span></span>
<span><span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span>value <span class="op">=</span> <span class="va">eg</span>, pctile <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/t.html" class="external-link">t</a></span><span class="op">(</span><span class="va">testoutput_ejamit_10pts_1miles</span><span class="op">$</span><span class="va">results_overall</span><span class="op">[</span> , <span class="va">..names_d_pctile</span><span class="op">]</span><span class="op">)</span><span class="op">)</span></span>
<span></span>
<span><span class="fu"><a href="https://rdrr.io/r/base/data.frame.html" class="external-link">data.frame</a></span><span class="op">(</span>value <span class="op">=</span> <span class="va">eg</span>, pctile <span class="op">=</span> <span class="fu">lookup_pctile</span><span class="op">(</span><span class="va">eg</span>, <span class="va">names_d</span><span class="op">)</span><span class="op">)</span></span>
<span></span>
<span></span>
<span>  <span class="co"># compare ejscreen API output percentiles to those from this function:</span></span>
<span>  <span class="kw">for</span> <span class="op">(</span><span class="va">vname</span> <span class="kw">in</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="va">names_d</span><span class="op">[</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">1</span>,<span class="fl">3</span><span class="op">:</span><span class="fl">6</span>,<span class="fl">8</span><span class="op">:</span><span class="fl">10</span><span class="op">)</span><span class="op">]</span> <span class="op">)</span><span class="op">)</span> <span class="op">{</span></span>
<span>     <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="fu">pctile_from_raw_lookup</span><span class="op">(</span><span class="va">testoutput_ejscreenapi_plus_100</span><span class="op">[</span>,<span class="va">vname</span><span class="op">]</span> <span class="op">/</span> <span class="fl">100</span>, <span class="va">vname</span>,</span>
<span>       lookup <span class="op">=</span> <span class="va">usastats</span><span class="op">)</span></span>
<span>       <span class="op">-</span> <span class="va">testoutput_ejscreenapi_plus_100</span><span class="op">[</span>,<span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste0</a></span><span class="op">(</span><span class="st">"pctile."</span>,<span class="va">vname</span><span class="op">)</span><span class="op">]</span> <span class="op">)</span></span>
<span>  <span class="op">}</span></span>
<span>  <span class="kw">for</span> <span class="op">(</span><span class="va">vname</span> <span class="kw">in</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="va">names_e</span> <span class="op">)</span><span class="op">)</span> <span class="op">{</span></span>
<span>     <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="fu">pctile_from_raw_lookup</span><span class="op">(</span><span class="va">testoutput_ejscreenapi_plus_100</span><span class="op">[</span>,<span class="va">vname</span><span class="op">]</span>, <span class="va">vname</span>,</span>
<span>       lookup <span class="op">=</span> <span class="va">usastats</span><span class="op">)</span></span>
<span>         <span class="op">-</span> <span class="va">testoutput_ejscreenapi_plus_100</span><span class="op">[</span>,<span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste0</a></span><span class="op">(</span><span class="st">"pctile."</span>,<span class="va">vname</span><span class="op">)</span><span class="op">]</span> <span class="op">)</span></span>
<span>  <span class="op">}</span></span>
<span><span class="op">}</span> <span class="co"># }</span></span>
<span></span></code></pre></div>
    </div>
  </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
    </nav></aside></div>


    <footer><div class="pkgdown-footer-left">
  <p>US EPA 2024</p>
</div>

<div class="pkgdown-footer-right">
  <p>EJAM Version 2.32.0</p>
</div>

    </footer></div>





  </body></html>

